TestEra: A Novel Framework for Automated Testing of Java Programs
نویسندگان
چکیده
We present TestEra, a novel framework for automated testing of Java programs. TestEra automatically generates all non-isomorphic test cases, within a given input size, and evaluates correctness criteria. As an enabling technology, TestEra uses Alloy, a first-order relational language, and the Alloy Analyzer. Checking a program with TestEra involves modeling the correctness criteria for the program in Alloy and specifying abstraction and concretization translations between instances of Alloy models and Java data structures. TestEra produces concrete Java inputs as counterexamples to violated correctness criteria. This paper discusses TestEra’s analyses of several case studies: methods that manipulate singly linked lists and red-black trees, a naming architecture, and a part of the Alloy Analyzer.
منابع مشابه
TestEra A Novel Framework for Testing Java Programs
TestEra is a novel framework for automated specification-based testing of Java programs. Given a formal specification for a method, TestEra uses the method precondition to automatically generate all nonisomorphic test inputs up to a given bound. TestEra executes the method on each test input, and uses the method postcondition as a test oracle to check the correctness of each output. TestEra all...
متن کاملChecking Java implementation of a naming architecture using Testera
TestEra is a novel framework for automated testing of Java programs. We have built TestEra upon Alloy, a lightweight first-order relational language, and the Alloy Analyzer, a fully automatic simulation and checking tool. Checking a Java program with TestEra involves modeling the correctness criteria for the program in Alloy and specifying abstraction and concretization translations between ins...
متن کاملGenerating Structurally Complex Tests from Declarative Constraints
This dissertation describes a method for systematic constraint-based test generation for programs that take as inputs structurally complex data, presents an automated SAT-based framework for testing such programs, and provides evidence on the feasibility of using this approach to generate high quality test suites and find bugs in non-trivial programs. The framework tests a program systematicall...
متن کاملSystematic Software Testing: The Korat Approach
At ISSTA 2002, the three authors (then Ph.D. students) published the paper “Korat: Automated Testing Based on Java Predicates”, which won one of the first ACM SIGSOFT Distinguished paper awards. In 2012, the paper won the ACM SIGSOFT Impact Paper Award. The authors briefly recount the motivation behind Korat research, the ideas presented in the original paper, and some work it inspired. 1. BRIE...
متن کاملJMLAutoTest: A Novel Automated Testing Framework Based on JML and JUnit
Writing specifications using Java Modeling Language has been accepted for a long time as a practical approach to increasing the correctness and quality of Java programs. However, the current JML testing system (the JML and JUnit framework) can only generate skeletons of test fixture and test case class. Writing codes for generating test cases, especially those with a complicated data structure ...
متن کامل